مشکلات فناوري چندهسته اي (2)
مشکلات فناوري چندهسته اي (2)
مشکلات فناوري چندهسته اي (2)
براي نمونه، من و همکارانم در آزمايشگاه پردازش هاي موازي در برکلي، تصميم گرفته ايم در حال حاضر فقط چند کاربرد خاص را بعنوان هدف مد نظر داشته باشيم و تمرکز خود را بر روي آنها قرار دهيم. يکي از اين کاربردهايي که اکنون ما بر روي آن کار مي کنيم عبارت است از شناسايي سخنراني (Speech Recognition)، يا بهتر بگويم درک سخنراني. ما اميدواريم بتوانيم نرم افزار شناسايي سخنراني را به طور قابل ملاحظه اي بهبود بخشيم به طوريکه يک کامپيوتر قادر باشد واژه اي را که فرد سخنران در يک محيط کاملاً شلوغ و پر سروصدا به زبان مي آورد تشخيص دهد. اين نرم افزار مطمئناً از نرم افزارهاي ناکارآمد امروزي بسيار بهتر خواهد بود و عملاً از آنها پيش خواهد افتاد و ضمناً به ما اين اجازه را خواهد داد تا در همايش ها در رونوشت برداري بصورت الکترونيکي از اين نرم افزار بهره ببريم. در حال حاضر چنين نرم افزارهايي موجود هستند اما تعداد اشتباهات آنها به طرز نااميد کننده اي بالا است.
يکي از مشکلاتي که در اين مسير ما با آن مواجه هستيم آن است که ريزپردازنده ها با تعداد هسته هاي زياده هنوز به بازار عرضه نشده است. بنابراين ما وسيله اي در اختيار نداريم تا نرم افزارهاي تجربي خود را بر روي آنها آزمايش نماييم. زمان زيادي نياز است تا نمونه هاي اوليه از چنين ريزپردازنده هايي طراحي و ساخته شود و نيز ميليون ها دلار بايد صرف چنين کاري گردد. در اصل ما مي توانستيم برنامه اي طراحي نماييم تا کاري را که اين نوع تراشه ها انجام خواهند داد را برنامه بر عهده گيرد،يعني به نوعي برنامه کار تراشه را تقليد کند. اما چنين برنامه اي اگر بخواهد با تمام جزئيات توسط يک سيستم 128 هسته اي اجرا گردد عملاً براي شبيه سازي يک عمليات چند ثانيه اي نياز به زماني معادل به چند روز را خواهد داشت، اين به آن معناست که سازگار نمودن بهينه سازي هاي نرم افزارها و سخت افزارها به طرز وحشتناکي به کندي صورت مي گيرد.
اما ما مي توانيم اين مانع را با استفاده از آرايش هاي درگاه قابل برنامه نويسي (FPGA: Field Programmable gate arrays) براي شبيه سازي کامپيوترهاي آينده، دور بزنيم. FGPAها مدارهاي مجتمعي هستند که شامل مجموعه بزرگي از مولفه هاي مدار هستند. اين مولفه هاي مداري مي توانند در حين اجراي برنامه با يکديگر در ارتباط باشند. اين کار بر اساس زبان ويژه اي براي توصيف پيکربندي سخت افزار مورد نظر، صورت مي پذيرد. و آن ها مي توانند هر چند بار که نياز باشد با يکديگر ارتباط برقرار نمايند. بنابراين آنها بهترين حالت را براي دو دنياي سخت افزار و نرم افزار در اختيار شما قرار مي دهند، دارا بودن انعطاف پذيري نرم افزار و همچنين توانايي اجرا 250 برابر سريعتر از نرم افزارهاي شبيه ساز. در واقع اين دورنما و چشم انداز، نويدبخش شتاب دهنده هاي تحقيقاتي براي پروژه ريزپردازنده هاي چندگانه (RAMP: Research Accelerator for Multiple Processors) مي باشد، همکاري نزديک به يک دوجين از دانشگاه ها و شرکت ها براي ايجاد و به اشتراک گذاشتن يک زيرساختار براي شتاب دادن به تحقيقات در زمينه طراحي هاي مربوط به چند هسته اي ها.
برخي از اين 12 موضوعات محاسباتي بطور بسيار ناچيز و ضعيف موازي هستند. براي مثال روش هايي که ما آنها را روش هاي مونت کارلو مي ناميم را در نظر بگيريد، اين روش ها تراکنش هاي مستقل و تصادفي زيادي از برخي فرآيندهاي فيزيکي را آزمايش مي نمايد اين کار به منظور تعيين يک نتيجه عمومي تر صورت مي گيرد. شما قادريد کارهاي بيشتري با اين شيوه انجام دهيد. براي نمونه شما مي توانستيد مقدار عدد پي را محاسبه نماييد. فرآيندي را هنگام پرتاب يک دارت به سمت سيبل هدف صورت مي گيرد، پردازش کنيد. اگر دارت ها به نقاط تصادفي بر روي سبيل برخورد نمايند، چه تعداد از آنها داخل بزرگترين دايره روي سبيل قرار مي گيرند؟ تعداد دارت ها براي اينکه داخل يک دايره قرار گيرند را مي توانيد محاسبه نماييد اکنون شما مساحت دايره را مي توانيد بدست آوريد با تقسيم مساحت به مجذور شعاع، مقدار عدد پي بدست مي آيد.
ديگر طرح ها بسيار دشوارتر بصورت موازي اجرا مي شوند، نظير مشکل معمول ترتيب گذاري يک سري از عبارت هاي شناخته شده، جايي که قواعد انتقال از يک عبارت به ديگري به مقادير ورودي هاي خارجي گوناگون بستگي دارد. يک کامپيوتر ترتيبي فرض مي کند که کدام عبارت بعنوان عبارت بعدي بايد در نظر گرفته شود، اين کار بر اساس اينکه کدام عبارت در حال حاضر اجرا گرديده و در همان لحظه چه عبارتي وارد گرديده است، صورت مي پذيرد. داشتن سيستم چند هسته اي موجود کمکي در سريعتر شدن عمليات پردازش نمي گردد، بنابراين تنها راه چاره براي اجراي سريع تر ترتيبي از عبارات آنست که زمان هاي قبل از انتقال هاي يک عبارت که ممکن است وارد سيستم شود را پيدا نمود. اما اين امر نيازمند آنست که کامپيوتر حدس بزند که کدام عبارت ممکن است زودتر ظاهر شود و چگونه اين ورودي ها در حين ورود ممکن است تغيير يابند. و هنگاميکه حدس شما اشتباه باشد زمان زيادي نياز است تا اشتباه تصحيح يابد و اين خود سبب کندتر شدن فرآيند پردازش مي شد. بنابراين عمل حدس زدن ممکن است نه تنها باعث افزايش سرعت نشود بلکه سبب کندتر شدن پردازش نيز گردد. اما جاي اميدواري هست با حدس هاي درست زمان پردازش کمتر ش-ود و همانطور که گفته شد حدس هاي غلط باعث کندتر شدن اين فرآيند مي گردد ولي بطور ميانگين زماني که صرف پردازش گردد کمتر شود. دريافتن اين موضوع که چگونه برنامه انتقال هاي عبارت را گمانه زني نمايد به نظر يک نوع کلک کامپيوتري مي باشد، يا حداقل اينطور ميتوان گفت.
در سال 1995 من چند پيش بيني عمومي در خصوص اينکه در سال 2020 ريزپردازنده ها چگونه خواهند بود، داشتم. در آن زمان شايد بتوان گفت از روي سادگي چنين پيش بيني کردم! من انتظار داشتم انجمن هاي فناوري اطلاعات کشف کنند که چگونه برنامه نويسي موازي سازي را انجام دهند پيش از آنکه سازنندگان تراشه ها بتوانند محصولي را بسازند که من آنرا ريزچند پردازنده (Micromultiprocessors) ناميدم. اکنون با دورنمايي که از سال 2010 دارم مي توانم سه امکان را براي سال 2020 پيش بيني نمايم.
نخست آنست که ما توپ را پرتاب مي کنيم. يعني، تعداد خاصي از هسته ها در هر تراشه وجود خواهند داشت و نه از آن بيشتر، و افزايش کارآيي پردازنده ها متوقف مي گردد. چنين نتيجه اي صنعت فن آوري اطلاعات را شديداً تحت فشار خواهد گذاشت. ريزپردازنده ها بطور پيوسته ارزانتر خواهند شد و در نتيجه محصولاتي که از اين ريزپردازنده ها در ساختار خود بهره گرفته اند نيز با افت قيمت مواجه خواهند شد. ولي اين امر سبب نخواهد شد تا جاذبه کاربران به سوي آنها افزايش يابد. نتبوک هاي اوليه را در نظر گيريد که چطور با افت قيمت مواجه شدند. چنين سير تکاملي فقط سبب خواهد شد حرکت به سوي انبوه هاي از پردازش ها شروع شود، زيرا سرورها که کار اصلي را بر دوش مي کشند قادر خواهند بود از مزيت موازي سازي بهره گيرند چيزي که کامپيوترهاي شخصي قادر به استفاده از آن نيستند.
امکان ديگر آن است که با انتخاب چند نفر از ما ( گروه هاي تحقيقاتي) بايد منتظر پيروزي به سبک Hail Mary باشيم. شايد فقط کاربردهاي مولتي مديا نظير بازي هاي ويدئويي مي توانند از موازي سازي در سطح داده ها بهره برداري نمايند و از مزيت افزايش تعداد هسته ها استفاده کنند. در اين حالت ريزپردازنده هاي سال 2020 ممکن است خيلي شبيه تر به GPU هايي از، Nvidia Advanced Micro Devices و اينتل باشد تا به ريزپردازنده هاي رايج امروزي. يعني، اين GPU حرکتي را از يک نقش فرعي به سوي پيشرفت در جهت يک رويداد و عامل اصلي خواهند داشت. هنوز بر ما آشکار نيست که آيا چنين کاربردهايي به تنهايي قادر خواهند بود رشد و توسعه صنعت فناوري اطلاعات را بطور کامل تضمين کنند يا خير.
خوشبينانه ترين نتيجه، البته، اين است که کساني دريابند که چگونه نرم افزار موازي قابل اطميناني طراحي کنند که با افزايش تعداد هسته ها کارآيي آنها حفظ گردد. آن نرم افزارها شالوده اصلي براي ساخت سخت افزارهاي ريزپردازنده سي سال آينده را فراهم مي کنند. حتي اگر طبق روال عادي هر سال دو برابر کردن پردازنده ها يا افزايش دو واحدي ترانزيستورها در هر تراشه که متوقف شده بود- پاياني وحشتناک براي قانون مور- ادامه يابد آنگاه کالاهايي نويني عرضه خواهند شد که به سيستم هاي اقتصادي اجازه خواهد داد تراشه هاي چند گانه اي را طراحي کنند که کارآيي و بازده محصولات را بالا برد و اين امر سبب خواهد شد دوباره مصرف کنندگان را به سوي خود جلب نمايند و مصرف کننده نيز از کار با اين سيستم ها اظهار رضايت کند.
اگر چه من در اينجا سه امکان را مطرح کردم- من و همکارانم در تلاش هستيم تا اين رويا به حقيقت بپيوندد- اما شخصاً عقيده دارم احتمال وقوع سناريوي سوم خيلي کمتر از بقيه باشد. درست همانند تغيير آب و هواي جهاني، برخي ملل از اين وضعيت کمتر از بقيه ضرر خواهند کرد، آنچه بر سر صنعت ريزپردازنده ها خواهد آمد تاثير بد و ناخوشايندي خواهد داشت. بعضي شرکت ها به سبب ناتواني ريزپردازنده ها براي گسترش دادن راهي همانند آنچه که در گذشته طي کرده اند، تسليم خواهند شد و از پاي در مي آيند. برخي ديگر با تغيير سياست هاي خود و ايفاي نقشي جديد در عرصه پردازش سود کلاني عايدشان مي شود.
اشکالي ندارد توپ چگونه با زمين برخورد مي کند و چگونه دوباره به هوا برخواهد خواست، فقط بايد به نظاره نشست، حداقل براي هواداران بايد اينطور باشد. دهه آينده، ده هاي بسيار جالب و هيجان انگيز براي طرفداران پردازش هاي کامپيوتري است.
منبع: بزرگراه رايانه، شماره ي 137 .
يکي از مشکلاتي که در اين مسير ما با آن مواجه هستيم آن است که ريزپردازنده ها با تعداد هسته هاي زياده هنوز به بازار عرضه نشده است. بنابراين ما وسيله اي در اختيار نداريم تا نرم افزارهاي تجربي خود را بر روي آنها آزمايش نماييم. زمان زيادي نياز است تا نمونه هاي اوليه از چنين ريزپردازنده هايي طراحي و ساخته شود و نيز ميليون ها دلار بايد صرف چنين کاري گردد. در اصل ما مي توانستيم برنامه اي طراحي نماييم تا کاري را که اين نوع تراشه ها انجام خواهند داد را برنامه بر عهده گيرد،يعني به نوعي برنامه کار تراشه را تقليد کند. اما چنين برنامه اي اگر بخواهد با تمام جزئيات توسط يک سيستم 128 هسته اي اجرا گردد عملاً براي شبيه سازي يک عمليات چند ثانيه اي نياز به زماني معادل به چند روز را خواهد داشت، اين به آن معناست که سازگار نمودن بهينه سازي هاي نرم افزارها و سخت افزارها به طرز وحشتناکي به کندي صورت مي گيرد.
اما ما مي توانيم اين مانع را با استفاده از آرايش هاي درگاه قابل برنامه نويسي (FPGA: Field Programmable gate arrays) براي شبيه سازي کامپيوترهاي آينده، دور بزنيم. FGPAها مدارهاي مجتمعي هستند که شامل مجموعه بزرگي از مولفه هاي مدار هستند. اين مولفه هاي مداري مي توانند در حين اجراي برنامه با يکديگر در ارتباط باشند. اين کار بر اساس زبان ويژه اي براي توصيف پيکربندي سخت افزار مورد نظر، صورت مي پذيرد. و آن ها مي توانند هر چند بار که نياز باشد با يکديگر ارتباط برقرار نمايند. بنابراين آنها بهترين حالت را براي دو دنياي سخت افزار و نرم افزار در اختيار شما قرار مي دهند، دارا بودن انعطاف پذيري نرم افزار و همچنين توانايي اجرا 250 برابر سريعتر از نرم افزارهاي شبيه ساز. در واقع اين دورنما و چشم انداز، نويدبخش شتاب دهنده هاي تحقيقاتي براي پروژه ريزپردازنده هاي چندگانه (RAMP: Research Accelerator for Multiple Processors) مي باشد، همکاري نزديک به يک دوجين از دانشگاه ها و شرکت ها براي ايجاد و به اشتراک گذاشتن يک زيرساختار براي شتاب دادن به تحقيقات در زمينه طراحي هاي مربوط به چند هسته اي ها.
مشکلات چند هسته اي
برخي از اين 12 موضوعات محاسباتي بطور بسيار ناچيز و ضعيف موازي هستند. براي مثال روش هايي که ما آنها را روش هاي مونت کارلو مي ناميم را در نظر بگيريد، اين روش ها تراکنش هاي مستقل و تصادفي زيادي از برخي فرآيندهاي فيزيکي را آزمايش مي نمايد اين کار به منظور تعيين يک نتيجه عمومي تر صورت مي گيرد. شما قادريد کارهاي بيشتري با اين شيوه انجام دهيد. براي نمونه شما مي توانستيد مقدار عدد پي را محاسبه نماييد. فرآيندي را هنگام پرتاب يک دارت به سمت سيبل هدف صورت مي گيرد، پردازش کنيد. اگر دارت ها به نقاط تصادفي بر روي سبيل برخورد نمايند، چه تعداد از آنها داخل بزرگترين دايره روي سبيل قرار مي گيرند؟ تعداد دارت ها براي اينکه داخل يک دايره قرار گيرند را مي توانيد محاسبه نماييد اکنون شما مساحت دايره را مي توانيد بدست آوريد با تقسيم مساحت به مجذور شعاع، مقدار عدد پي بدست مي آيد.
ديگر طرح ها بسيار دشوارتر بصورت موازي اجرا مي شوند، نظير مشکل معمول ترتيب گذاري يک سري از عبارت هاي شناخته شده، جايي که قواعد انتقال از يک عبارت به ديگري به مقادير ورودي هاي خارجي گوناگون بستگي دارد. يک کامپيوتر ترتيبي فرض مي کند که کدام عبارت بعنوان عبارت بعدي بايد در نظر گرفته شود، اين کار بر اساس اينکه کدام عبارت در حال حاضر اجرا گرديده و در همان لحظه چه عبارتي وارد گرديده است، صورت مي پذيرد. داشتن سيستم چند هسته اي موجود کمکي در سريعتر شدن عمليات پردازش نمي گردد، بنابراين تنها راه چاره براي اجراي سريع تر ترتيبي از عبارات آنست که زمان هاي قبل از انتقال هاي يک عبارت که ممکن است وارد سيستم شود را پيدا نمود. اما اين امر نيازمند آنست که کامپيوتر حدس بزند که کدام عبارت ممکن است زودتر ظاهر شود و چگونه اين ورودي ها در حين ورود ممکن است تغيير يابند. و هنگاميکه حدس شما اشتباه باشد زمان زيادي نياز است تا اشتباه تصحيح يابد و اين خود سبب کندتر شدن فرآيند پردازش مي شد. بنابراين عمل حدس زدن ممکن است نه تنها باعث افزايش سرعت نشود بلکه سبب کندتر شدن پردازش نيز گردد. اما جاي اميدواري هست با حدس هاي درست زمان پردازش کمتر ش-ود و همانطور که گفته شد حدس هاي غلط باعث کندتر شدن اين فرآيند مي گردد ولي بطور ميانگين زماني که صرف پردازش گردد کمتر شود. دريافتن اين موضوع که چگونه برنامه انتقال هاي عبارت را گمانه زني نمايد به نظر يک نوع کلک کامپيوتري مي باشد، يا حداقل اينطور ميتوان گفت.
در سال 1995 من چند پيش بيني عمومي در خصوص اينکه در سال 2020 ريزپردازنده ها چگونه خواهند بود، داشتم. در آن زمان شايد بتوان گفت از روي سادگي چنين پيش بيني کردم! من انتظار داشتم انجمن هاي فناوري اطلاعات کشف کنند که چگونه برنامه نويسي موازي سازي را انجام دهند پيش از آنکه سازنندگان تراشه ها بتوانند محصولي را بسازند که من آنرا ريزچند پردازنده (Micromultiprocessors) ناميدم. اکنون با دورنمايي که از سال 2010 دارم مي توانم سه امکان را براي سال 2020 پيش بيني نمايم.
نخست آنست که ما توپ را پرتاب مي کنيم. يعني، تعداد خاصي از هسته ها در هر تراشه وجود خواهند داشت و نه از آن بيشتر، و افزايش کارآيي پردازنده ها متوقف مي گردد. چنين نتيجه اي صنعت فن آوري اطلاعات را شديداً تحت فشار خواهد گذاشت. ريزپردازنده ها بطور پيوسته ارزانتر خواهند شد و در نتيجه محصولاتي که از اين ريزپردازنده ها در ساختار خود بهره گرفته اند نيز با افت قيمت مواجه خواهند شد. ولي اين امر سبب نخواهد شد تا جاذبه کاربران به سوي آنها افزايش يابد. نتبوک هاي اوليه را در نظر گيريد که چطور با افت قيمت مواجه شدند. چنين سير تکاملي فقط سبب خواهد شد حرکت به سوي انبوه هاي از پردازش ها شروع شود، زيرا سرورها که کار اصلي را بر دوش مي کشند قادر خواهند بود از مزيت موازي سازي بهره گيرند چيزي که کامپيوترهاي شخصي قادر به استفاده از آن نيستند.
امکان ديگر آن است که با انتخاب چند نفر از ما ( گروه هاي تحقيقاتي) بايد منتظر پيروزي به سبک Hail Mary باشيم. شايد فقط کاربردهاي مولتي مديا نظير بازي هاي ويدئويي مي توانند از موازي سازي در سطح داده ها بهره برداري نمايند و از مزيت افزايش تعداد هسته ها استفاده کنند. در اين حالت ريزپردازنده هاي سال 2020 ممکن است خيلي شبيه تر به GPU هايي از، Nvidia Advanced Micro Devices و اينتل باشد تا به ريزپردازنده هاي رايج امروزي. يعني، اين GPU حرکتي را از يک نقش فرعي به سوي پيشرفت در جهت يک رويداد و عامل اصلي خواهند داشت. هنوز بر ما آشکار نيست که آيا چنين کاربردهايي به تنهايي قادر خواهند بود رشد و توسعه صنعت فناوري اطلاعات را بطور کامل تضمين کنند يا خير.
خوشبينانه ترين نتيجه، البته، اين است که کساني دريابند که چگونه نرم افزار موازي قابل اطميناني طراحي کنند که با افزايش تعداد هسته ها کارآيي آنها حفظ گردد. آن نرم افزارها شالوده اصلي براي ساخت سخت افزارهاي ريزپردازنده سي سال آينده را فراهم مي کنند. حتي اگر طبق روال عادي هر سال دو برابر کردن پردازنده ها يا افزايش دو واحدي ترانزيستورها در هر تراشه که متوقف شده بود- پاياني وحشتناک براي قانون مور- ادامه يابد آنگاه کالاهايي نويني عرضه خواهند شد که به سيستم هاي اقتصادي اجازه خواهد داد تراشه هاي چند گانه اي را طراحي کنند که کارآيي و بازده محصولات را بالا برد و اين امر سبب خواهد شد دوباره مصرف کنندگان را به سوي خود جلب نمايند و مصرف کننده نيز از کار با اين سيستم ها اظهار رضايت کند.
اگر چه من در اينجا سه امکان را مطرح کردم- من و همکارانم در تلاش هستيم تا اين رويا به حقيقت بپيوندد- اما شخصاً عقيده دارم احتمال وقوع سناريوي سوم خيلي کمتر از بقيه باشد. درست همانند تغيير آب و هواي جهاني، برخي ملل از اين وضعيت کمتر از بقيه ضرر خواهند کرد، آنچه بر سر صنعت ريزپردازنده ها خواهد آمد تاثير بد و ناخوشايندي خواهد داشت. بعضي شرکت ها به سبب ناتواني ريزپردازنده ها براي گسترش دادن راهي همانند آنچه که در گذشته طي کرده اند، تسليم خواهند شد و از پاي در مي آيند. برخي ديگر با تغيير سياست هاي خود و ايفاي نقشي جديد در عرصه پردازش سود کلاني عايدشان مي شود.
اشکالي ندارد توپ چگونه با زمين برخورد مي کند و چگونه دوباره به هوا برخواهد خواست، فقط بايد به نظاره نشست، حداقل براي هواداران بايد اينطور باشد. دهه آينده، ده هاي بسيار جالب و هيجان انگيز براي طرفداران پردازش هاي کامپيوتري است.
منبع: بزرگراه رايانه، شماره ي 137 .
مقالات مرتبط
تازه های مقالات
ارسال نظر
در ارسال نظر شما خطایی رخ داده است
کاربر گرامی، ضمن تشکر از شما نظر شما با موفقیت ثبت گردید. و پس از تائید در فهرست نظرات نمایش داده می شود
نام :
ایمیل :
نظرات کاربران
{{Fullname}} {{Creationdate}}
{{Body}}